The present invention relates to the field of data transmission in computer systems.
Modern computer systems typically include multiple agents each coupled to a system bus. Typically, the agents are integrated circuit packages with multiple interfaces coupling each agent to the bus. The agents may include, for example, processors, memory devices, mass storage devices, etc. In order for the computer system to operate properly, agents should be able to communicate effectively with each other via the bus.
Existing computer systems typically transfer data between components or agents in accordance with a predefined clocking scheme. A system bus clock typically clocks data out of a sending device and into a receiving device. Consequently, it takes at least one complete clock cycles of a system bus clock to transfer data from one device to another device.
However, data may also be transferred in a source synchronous fashion in order to increase the speed of data transmission. In source synchronous transmission, a strobe is sent with a data transmission. This strobe latches the data into the receiving device in a time period that is typically shorter than the period of the system bus clock.
The source synchronous latched protocol operates a bus at a greater frequency. For example, two chunks of data may be driven onto the bus in the time it would take to drive one chunk in common clock transmission.
As a result, it would be advantages to provide a system that transmits data using a source synchronous protocol while transmitting control signals using a common clock protocol in order to increase the bandwidth of transmitting data without a corresponding increase in the number of signals transmitted.
The present invention provides a method and apparatus for transferring data between bus agents in a computer system. The present invention includes transmitting a control signal, from a first agent to a second agent, via a first transfer protocol; and, transmitting data corresponding to the control signal, from the first agent to the second agent, via a second transfer protocol.